package com.otherTest.conceitHashMap;

/**
 * 第二次实现hashMap
 * <p>
 * 定义hashMap接口
 *
 * @author Conceit
 * @since 1.0.0, 2017/9/5
 */
public interface ISecondTimeHashMap<K, V> {

    /**
     * 查询方法
     *
     * @param var1 map对应的key
     * @retrue v
     */
    V get(Object var1);

    /**
     * 保存方法
     *
     * @param var1 key
     * @param var2 value
     */
    V put(K var1, V var2);

    /**
     * 获取map总size
     */
    int size();

    /**
     * 公共内部接口entry
     */
    interface Entry<K, V> {
        /**
         * 获取key
         */
        K getKey();

        /**
         * 获取value
         */
        V getValue();

        /**
         * 设置value
         */
        V setValue();

        /**
         * equals
         */
        boolean equals(Object var1);

        /**
         * 重写hashCode
         */
        int hashCode();

    }

}
